package com.ruoyi.business.domain;

import com.mybatisflex.annotation.*;
import lombok.*;
import javax.validation.constraints.*;
import com.ruoyi.common.core.domain.BaseEntity;
import java.time.LocalDateTime;

 /**
 * 数据实体 : 个人项目模板
 * @Author  : ljq
 * @Created : 2025/10/8
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Table("t_project_detail_template")
public class ProjectDetailTemplate extends BaseEntity{

     
    @Id(keyType = KeyType.Auto)
    private Long id;
    
    /// 项目关联ID
    @Size(min = 0, max = 100, message = "项目关联ID长度不能超过100个字符")
    private String projectId;
    
    /// 用户关联ID
    @Size(min = 0, max = 100, message = "用户关联ID长度不能超过100个字符")
    private String userId;
    
    /// 银行卡关联ID
    @Size(min = 0, max = 100, message = "银行卡关联ID长度不能超过100个字符")
    private String bankCardId;
    
    /// 计划上班时间区间
    @Size(min = 0, max = 255, message = "计划上班时间区间长度不能超过255个字符")
    private String planWorkTimeRange;
    
    /// 实际上班时间
    private String realWorkStartAt;
    
    /// 实际下班时间
    private String realWorkEndAt;
    
    /// 计划工时
    private Double planHour;
    
    /// 实际工时
    private Double realHour;
    
    /// 备注
    @Size(min = 0, max = 255, message = "备注长度不能超过255个字符")
    private String comment;
    
    /// 状态
    @Size(min = 0, max = 1, message = "状态长度不能超过1个字符")
    private String status;
    
    /// 审批人
    @Size(min = 0, max = 100, message = "审批人长度不能超过100个字符")
    private String approvalBy;
    
    /// 时薪
    private Double hourlyWage;

     /// 类型  1:项目  0:工单
     private String type;

    /// 工种
    @Size(min = 0, max = 4, message = "工种长度不能超过4个字符")
    private String workType;
    

}